package com.jack.payment.entity.business;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jack.payment.util.serializer.BigDecimalSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "交易金额")
public class PayGMVModel implements Serializable {
    @Schema(description = "支付交易额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal payGMV;
    @Schema(description = "退款额度")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal refundGMV;
    @Schema(description = "提现额度")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal withdrawGMV;
    @Schema(description = "支付宝交易额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal aliPayGMV;
    @Schema(description = "支付宝退款额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal aliPayRefundGMV;
    @Schema(description = "微信交易额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal wechatGMV;
    @Schema(description = "微信退款额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal wechatRefundGMV;
    @Schema(description = "stripe 交易额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal stripeGMV;
    @Schema(description = "stripe 退款额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal stripeRefundGMV;
    @Schema(description = "银联交易额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal unionPayGMV;
    @Schema(description = "银联退款额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal unionPayRefundGMV;
    @Schema(description = "paypal")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal payPalGMV;
    @Schema(description = "paypal 退款额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal payPalRefundGMV;
}
